//
//  CKWeakSet.h
//  ChatKit
//
//  Created by Ofri Wolfus on 25/03/06.
//  Copyright 2006 Ofri Wolfus. All rights reserved.
//

#import <Cocoa/Cocoa.h>

/*!
 * @class CKWeakSet
 * @abstract CKWeakSet is a subclass of NSMutableSet which does everything the same except, it doesn't retain or release its objects.
 * @discussion CKWeakSet and NSMutableSet are interchangeable, and you can use whatever you want instead of the other.
 * CKWeakSet is also Toll Free Bridged to CFMutableSetRef.
 */
@interface CKWeakSet : NSMutableSet {
}

@end

/*!
 * @category NSMutableSet (CKWeakSet)
 * @abstract Adds support for CKWeakSet.
 */
@interface NSMutableSet (CKWeakSet)

/*!
 * @methodweakSetWithCapacity:
 * @abstract Creates and returns a weak mutable set, giving it enough allocated memory to hold numItems members.
 * Weak mutable sets allocate additional memory as needed, so numItems simply establishes the object’s initial capacity.
 */
+ (id)weakSetWithCapacity:(unsigned)numItems;

@end
